package com.acarter.scenemonitor.propertydescriptor.enums;
/**
 * <p>Title</p>
 * 
 * <p>Description: </p>
 *
 * <p>Copyright (c) 2007</p>
 *
 * @author Andrew Carter
 * @version 
 */


/**
 * Enumerates the permissible texture combine source.
 * 
 * @author Andrew Carter
 */
public enum E_TextureACS {
	
  ACS_TEXTURE("ACS_TEXTURE", 0),
  
  ACS_PRIMARY_COLOR("ACS_PRIMARY_COLOR", 1),
  
  ACS_CONSTANT("ACS_CONSTANT", 2),
  
  ACS_PREVIOUS("ACS_PREVIOUS", 3),
  
  ACS_TEXTURE0("ACS_TEXTURE0", 4),
  
  ACS_TEXTURE1("ACS_TEXTURE1", 5),
  
  ACS_TEXTURE2("ACS_TEXTURE2", 6),
  
  ACS_TEXTURE3("ACS_TEXTURE3", 7),
  
  ACS_TEXTURE4("ACS_TEXTURE4", 8),
  
  ACS_TEXTURE5("ACS_TEXTURE5", 9),
  
  ACS_TEXTURE6("ACS_TEXTURE6", 10),
  
  ACS_TEXTURE7("ACS_TEXTURE7", 11),
  
  ACS_TEXTURE8("ACS_TEXTURE8", 12),
  
  ACS_TEXTURE9("ACS_TEXTURE9", 13),
  
  ACS_TEXTURE10("ACS_TEXTURE10", 14),
  
  ACS_TEXTURE11("ACS_TEXTURE11", 15),
  
  ACS_TEXTURE12("ACS_TEXTURE12", 16),
  
  ACS_TEXTURE13("ACS_TEXTURE13", 17),
  
  ACS_TEXTURE14("ACS_TEXTURE14", 18),
  
  ACS_TEXTURE15("ACS_TEXTURE15", 19),
  
  ACS_TEXTURE16("ACS_TEXTURE16", 20),
  
  ACS_TEXTURE17("ACS_TEXTURE17", 21),
  
  ACS_TEXTURE18("ACS_TEXTURE18", 22),
  
  ACS_TEXTURE19("ACS_TEXTURE19", 23),
  
  ACS_TEXTURE20("ACS_TEXTURE20", 24),
  
  ACS_TEXTURE21("ACS_TEXTURE21", 25),
  
  ACS_TEXTURE22("ACS_TEXTURE22", 26),
  
  ACS_TEXTURE23("ACS_TEXTURE23", 27),
  
  ACS_TEXTURE24("ACS_TEXTURE24", 28),
  
  ACS_TEXTURE25("ACS_TEXTURE25", 29),
  
  ACS_TEXTURE26("ACS_TEXTURE26", 30),
  
  ACS_TEXTURE27("ACS_TEXTURE27", 31),
  
  ACS_TEXTURE28("ACS_TEXTURE27", 32),
  
  ACS_TEXTURE29("ACS_TEXTURE29", 33),
  
  ACS_TEXTURE30("ACS_TEXTURE30", 34),
  
  ACS_TEXTURE31("ACS_TEXTURE31", 35);
	
	/** String representation of the enum value */
	private String name;

	/** Integer value of the enum value */
	private int value;

	/**
	 * Private constructor.
	 * 
	 * @param value
	 *            String literal of the enum
	 */
	private E_TextureACS(String name, int value) {

		this.name = name;
		this.value = value;
	}

	/**
	 * Returns the enum constant matching the name string.
	 * 
	 * @param name
	 *            string value of enum constant
	 * @return matching enum constant or null
	 */
	public static E_TextureACS getConstant(String name) {

		for (E_TextureACS constant : E_TextureACS.values()) {

			if (constant.toString().compareToIgnoreCase(name) == 0)
				return constant;
		}

		return null;
	}

	/**
	 * Returns the enum constant matching the type value.
	 * 
	 * @param type
	 *            type value of enum constant
	 * @return matching enum constant or null
	 */
	public static E_TextureACS getConstant(int type) {

		for (E_TextureACS constant : E_TextureACS.values()) {

			if (constant.getType() == type)
				return constant;
		}

		return null;
	}

	/**
	 * Returns the string value of the constant.
	 */
	public String toString() {

		return name;
	}
	
	/**
	 * Returns the integer value of the constant.
	 * @return 
	 */
	public int getType() {
		
		return value;
	}
}
